#include "addstudent.h"
#include "ui_addstudent.h"
int tip=0;

AddStudent::AddStudent(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::AddStudent)//.ui文件里的类的对象new一个出来，由ui这个变量指向这个new出来的对象
{
    ui->setupUi(this);//是由.ui文件生成的类的构造函数，这个函数的作用是对界面进行初始化，它按照我们在Qt设计器里设计的样子把窗体画出来，把我们在Qt设计器里面定义的信号和槽建立起来。也可以说，setupUi 是我们画界面和写程序之间的桥梁。
    setWindowFlags(Qt::Widget);//使dialog项目有最大最小化按钮

    this->ui->listWidget->addItem(QString("欢迎您来增加或修改个人信息。\n\n添加个人信息请输入各项信息，\n并点击保存信息。\n\n修改个人信息请输入学号，\n并点击保存信息。"));
    setAttribute(Qt::WA_DeleteOnClose, true);//这句话，使该窗口close（）后自动销毁
}

AddStudent::~AddStudent()
{
    delete ui;
}

void AddStudent::on_save_clicked()
{
    this->ui->listWidget->clear();
    this->ui->listWidget->addItem(QString("欢迎您来增加或修改个人信息。\n\n添加个人信息请输入各项信息，\n并点击保存信息。\n\n修改个人信息请输入学号，\n并点击保存信息。"));
    QSqlQuery query;
    QString number=this->ui->number->text();
    QString name=this->ui->name->text();
    QString class_2=this->ui->class_2->text();
    QString address=this->ui->address->text();
    QString phone=this->ui->phone->text();
    if(number=="")
    {
        QMessageBox::information(NULL, "提示", "学号不得为空！", QMessageBox::Ok);
        return;
    }

    query.exec("select * from student where 学号 ='"+number+"'");
    if(!query.isActive())
    {
        QMessageBox::critical(NULL,"错误","查询未执行！", QMessageBox::Ok);
    }
    QString str1,str2,str3,str4,str5;
    while(query.next())
    {
        str1 = query.value("学号").toString();
        str2 = query.value("姓名").toString();
        str3 = query.value("班级").toString();
        str4 = query.value("宿舍住址").toString();
        str5 = query.value("联系电话").toString();
    }
    if(tip==0)
    {
        if(str1.isEmpty())
        {
            query.exec("INSERT INTO student VALUES('"+number+"','"+name+"','"+class_2+"','"+address+"','"+phone+"')");
            QMessageBox::information(NULL, "提示", "信息录入成功！", QMessageBox::Ok);
            tip=0;
            this->close();
        }
        else
        {
            this->ui->listWidget->clear();
            QMessageBox::information(NULL, "提示", "您的信息已经存在，如需修改，请修改后点击保存！", QMessageBox::Ok);
            this->ui->listWidget->clear();
            this->ui->listWidget->addItem(QString("欢迎您来增加或修改个人信息。\n\n添加个人信息请输入各项信息，\n并点击保存信息。\n\n修改个人信息请输入学号，\n并点击保存信息。"));
            ui->number->setText(str1);
            ui->name->setText(str2);
            ui->class_2->setText(str3);
            ui->address->setText(str4);
            ui->phone->setText(str5);
            this->ui->save->setText("修改");
            tip=1;
        }
    }
    else if(tip==1)
    {
        tip=0;
        query.exec("delete from student where 学号 ='"+number+"'");
        query.exec("INSERT INTO student VALUES('"+number+"','"+name+"','"+class_2+"','"+address+"','"+phone+"')");
        QMessageBox::information(NULL, "提示", "信息修改成功！", QMessageBox::Ok);
        this->close();
    }
}
